The present invention relates to the decorrelation of multiple input channels by direct adaptive filtering of the multiple input channels using Gram-Schmidt orthogonalization. More specifically, the present invention relates to multiple channel adaptive filtering using a fast orthogonalization network.
There is a great interest and need to orthogonalize or decorrelate every input channel of a multiple channel input system with respect to the other input channels of the system. By orthogonalizing the input channels of the system with respect to each other, the input channels are made independent of each other. Great advantages result from channel independence. Every channel only carries information it is supposed to; the channel does not possess any information that is supposed to be carried by another channel. Consequently no cross-correlations exist in the channel that have to be considered during manipulation of the information in the channel, thus allowing for simpler and less expensive circuits. Moreover, greater accuracy concerning the information a channel is carrying is achieved.
In this simplest case, two channels of complex valued data X.sub.1 and X.sub.2 form an output channel Y which is decorrelated with X.sub.2 when EQU YX.sub.2 =0 (1)
where the overbar denotes the expected value and * denotes the complex conjugate. This can be accomplished by letting EQU Y=X.sub.1 -WX.sub.2 ( 2)
and finding a constant weight, w, such that equation 1 is satisfied. By substituting equation 2 into equation 1 and solving for w, it is found that ##EQU1## where .vertline...vertline. denotes the complex magnitude function. FIG. 1 represents a decorrelation processor DP for the case of 2 inputs X.sub.1 and X.sub.2.
A more general case is when there exists N channels of complex valued data: X.sub.1, X.sub.2, . . . , X.sub.N. To form an output channel, Y, which is decorrelated with X.sub.2, X.sub.3 . . . , X.sub.n ; where EQU Y=X.sub.1 -w.sub.2 X.sub.2 -W.sub.3 X.sub.3 - . . . -W.sub.n X.sub.n. (4)
The weights n=2, 3, . . . , N must be determined such that EQU YX*.sub.n =0, n=2, 3, . . . , N. (5)
A weight vector is defined where w=(w.sub.1, w.sub.2, . . . , w.sub.N).sup.T.
Here w.sub.1 =1 and T represents the vector tranpose. w is then the solution of the following vector equation: ##EQU2## where R.sub.xx is the N.times.N convariance matrix of the input channels, i.e., EQU R.sub.xx =E(X*X.sup.T) (7)
where E ( ) denotes the expected value and X=(X.sub.1, X.sub.2, . . . , X.sub.N).sup.T. The constant .mu. is not arbitrary but chosen so that w.sub.1 =1.
From equation 6 it is seen that the decorrelator could be implemented by taking data samples, forming a sample covariance matrix as implied by equation 7, solving equation 6 for the weights, and applying these weights to the input channels.
Another implementation of the decorrelation process for N inputs that has the advantage of not requiring the difficult calculation of a covariance matrix is known as the Gram-Schmidt (GS) decomposition (sometimes called the Adaptive Lattice Filter), as illustrated in FIG. 2, which uses the basic two-input DP as a building block. An adaptive filter is defined to be a filter that bases its own design (its internal adjustment settings) upon estimated statistical characteristics of the input and output signals. GS decomposition decorrelates the inputs one at a time from the other inputs using the basic two-input DP. For example as seen in FIG. 2, in the first stage or level of decomposition, X.sub.N is decorrelated with X.sub.1, X.sub.2, . . . , X.sub.N-1. Next, the output channel which results from decorrelating X.sub.N with X.sub.N-1 is decorrelated with the other outputs of the first level of DPs. The decomposition proceeds as seen in FIG. 2 until a final output channel is generated. This output channel is totally decorrelated with the input: X.sub.2, X.sub.3, . . . , X.sub.N. Note that the GS decomposition is not unique; i.e., the order in which X.sub.2, X.sub.3, . . . , X.sub.N are decorrelated from X.sub.1 is arbitrary.
For N channels, the total number of DPs needed for GS decomposition is 0.5N (N-1). Hence, this number of decorrelation weights must be computed. For a digital implementation, these weights are determined sequentially. First, the first level weights are estimated after which the output data for the first level are calculated. These output data are used as inputs to the second level from which the second level weights can be calculated. The output data of the second level are generated by using these weights and the second level input data. The process continues until the (N-1)th level weight and outputs are calculated.
For notational purposes, the channel input appearing on the right-hand side of the DP as seen in FIG. 1, is defined as being the input which is decorrelated with the channel appearing on the left-hand side. For the multiple channel case, all inputs appearing to the right of the far left input will be decorrelated from this input.
The problem with the GS decomposition is that it requires as many GS decomposition circuits as channels to be decorrelated at a given time.